home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr05
/
mswlogo3.zip
/
MSWLOGO.ZIP
/
EXAMPLES.ZIP
/
PP
< prev
next >
Wrap
Text File
|
1993-04-13
|
2KB
|
78 lines
;
; Function:
;
; Logo List Pretty Printer
;
; To run:
;
; Load "pp
; Call PP list
;
; Example (pretty prints the :records structure at the bottom):
;
; PP :records
;
TO FITS :THING :LEFT :RIGHT
OP (:LEFT+COUNT :THING) < (:RIGHT-:LEVEL)
END
TO FITS.FIRST :THING :LEFT :RIGHT
IF WORDP :THING [OP FITS :THING :LEFT :RIGHT]
IF EMPTYP :THING [OP (:LEFT+3) < :RIGHT]
OP FITS.FIRST FIRST :THING :LEFT+1 :WIDTH-10
END
TO MARGIN
IF :ITEM = 1 [STOP]
PR []
MAKE "LEFT :LEVELPOS
REPEAT :LEFT [TYPE "| |]
MAKE "LINELEVEL :LEVEL
END
TO PP :THING
LOCAL [LINELEVEL WIDTH]
MAKE "LINELEVEL 0
MAKE "WIDTH 80
IGNORE PP1 :THING 0 0 0 1 1
PR []
END
TO PP1 :THING :LEFT :LEVEL :LEVELPOS :ITEM :COUNTER
IF NOT FITS.FIRST :THING :LEFT :WIDTH [MARGIN]
IF WORDP :THING [OP PPWORD :THING]
TYPE "\[
MAKE "LEFT PP2 :THING :LEFT+1 :LEVEL+1 :LEVELPOS 1 COUNT :THING
TYPE "\]
IF :ITEM < :COUNTER [TYPE "| | OP :LEFT+2]
OP :LEFT+1
END
TO PP2 :THING :LEFT :LEVEL :LEVELPOS :ITEM :COUNTER
IF EMPTYP :THING [OP :LEFT]
IF :ITEM = 1 [MAKE "LEVELPOS :LEFT]
IF :LEVEL < :LINELEVEL [MARGIN]
MAKE "LEFT PP1 FIRST :THING :LEFT :LEVEL :LEVELPOS :ITEM :COUNTER
OP PP2 BF :THING :LEFT :LEVEL :LEVELPOS :ITEM+1 :COUNTER
END
TO PPWORD :THING
TYPE :THING
IF :ITEM < :COUNTER [TYPE "| | OP :LEFT+1+COUNT :THING]
OP :LEFT+COUNT :THING
END
MAKE "RECORDS [[[MEET THE BEATLES] [BEATLES] [[I WANT TO HOLD YOUR HAND] ~
[I SAW HER STANDING THERE] [THIS BOY] [IT WON'T BE LONG] ~
[ALL I'VE GOT TO DO] [ALL MY LOVING] [DON'T BOTHER ME] [LITTLE CHILD] ~
[TILL THERE WAS YOU] [HOLD ME TIGHT] [I WANNA BE YOUR MAN] ~
[NOT A SECOND TIME]]] [[SECOND ALBUM] [BEATLES] ~
[[ROLL OVER, BEETHOVEN] [THANK YOU GIRL] ~
[YOU REALLY GOT A HOLD ON ME] [DEVIL IN HER HEART] [MONEY] ~
[YOU CAN'T DO THAT] [LONG TALL SALLY] [I CALL YOUR NAME] ~
[PLEASE MR. POSTMAN] [I'LL GET YOU] [SHE LOVES YOU]]] ~
[[SOMETHING NEW] [BEATLES] [[I'LL CRY INSTEAD] [THINGS WE SAID TODAY] ~
[ANY TIME AT ALL] [WHEN I GET HOME] [SLOW DOWN] [MATCHBOX] ~
[TELL ME WHY] [AND I LOVE HER] [I'M HAPPY JUST TO DANCE WITH YOU] ~
[IF I FELL] [KOMM, GIB MIR DEINE HAND]]]]